复合查询 Sample详情

最后更新时间:2019年7月5日

复合条件查询,是属性条件与空间条件结合应用的查询方式,根据选择图层、字段、关键字,结合空间范围条件,对图层要素进行查询并显示查询结果。通过结果要素可获取其空间信息与属性信息,根据应用需求解析结果,并选择适合的方式展现。

实现方法与空间查询、属性查询一致,只是在设置查询条件时,需要同时设置空间查询范围queryBound和属性查询条件whereClause。

//查询范围对象
MGSQueryBound *queryBound=[[MGSQueryBound alloc] initWithPoint:dot];
//设置查询范围
[featureQuery setQueryBound:queryBound];
//设置空间过滤条件(精确相交)
[featureQuery setSpatialRelationship:SpatialRelOverlap];
//属性条件(模糊查询)
[featureQuery setWhereClause:@"Name LIKE '%公园%'"];

交互式查询

交互查询,即以用户绘制的空间范围为条件,进行要素的查询操作,在实际项目中应用非常广泛。

从实现原理上说,交互式查询可以分为交互式图形绘制、要素查询两个阶段。用户在地图上绘制任意图形,然后获取其空间范围,作为空间查询的条件,进而实现查询效果。

从接口实现上来说,是地图手势事件操作、图形绘制、要素查询部分功能模块的结合,可以参考对应模块的开发指南文档。